Amazon Cognito
https://gyazo.com/f12d856a92b33303c26610f01123f157
プロダクトの認証、許可、ユーザー管理をサポートする機能を提供する
CognitoのUserPoolを移行する
CognitoとAPIGatewayを使ってrequestに認証をかける
Cognitoのアプリクライアント
3つのサービス
Cognito UserPool
ID Pool
Cognito Sync
代わりにAppSyncを利用することが公式に推奨されているので使用すべきでない
これが解説されている記事は古いmrsekut.icon
AWS のサービスを利用するユーザーに 固有のデータストレージ を提供するサービス
デバイス間でアプリケーションデータを同期できる
参考
『Cognito UserPool 実践入門』
UserPoolの移行方法など
#WIP
Facebook, Twitter, Amazon, GoogleなどのSNSアカウントでログインできるようにする
同期ストアっていうデータストアもある
Cognito UserPoolとID Poolの片方を使うこともアレば、両方使うこともある
『Cognito UserPool 実践入門』がわかりやすかった
Cognitoのtokenは3種類ある
docs
CognitoのID token
Cognitoのaccess token
Cognitoのrefresh token
loginした時に3つとも取得する
実装よるが、これら3つはlocalStorageに保存される
#??
access tokenとid tokenが別々になっている理由は?
https://dev.classmethod.jp/articles/cognito-user-pool-supports-custom-token-expiration/
https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html#amazon-cognito-user-pools-using-tokens-step-2
login UIの実装方法は2種類
https://qiita.com/saki-engineering/items/b327f93fe7f027913bd7#今は何をしていたのか
Cognito Identity Provider API
自分でlogin画面を作る
Cognito Auth APIとHosted UI
Cognitoが用意したlogin画面を使う
login部分のUIの実装を手を抜く
CognitoのAuthFlow
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#initiateAuth-property
code:ts
export type AuthFlowType =
| "USER_SRP_AUTH"
| "REFRESH_TOKEN_AUTH"
| "REFRESH_TOKEN"
| "CUSTOM_AUTH"
| "ADMIN_NO_SRP_AUTH"
| "USER_PASSWORD_AUTH"
| "ADMIN_USER_PASSWORD_AUTH"
| string;